package io.fft.flight.modules.flight.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;


/**
 * 主订单表
 *
 * @author likailun kellenli30541@gmail.com
 * @since 1.0.0 2024-06-19
 */
@Data
@ApiModel(value = "主订单表")
public class OrderDTO implements Serializable {
    private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "主键")
	private Long id;

	@ApiModelProperty(value = "订单编号")
	private String orderNo;

	@ApiModelProperty(value = "officeNo")
	private String officeNo;

	@ApiModelProperty(value = "生单pnr")
	private String bookPnr;

	@ApiModelProperty(value = "大编码、非必须")
	private String bigPnr;

	@ApiModelProperty(value = "新PNR")
	private String pnr;

	@ApiModelProperty(value = "支付方式 YPAY-胤钱宝支付 必须")
	private Integer payType;

	@ApiModelProperty(value = "政策ID 必须")
	private String dataSourcePolicyNo;

	@ApiModelProperty(value = "出票类型，已出票订单必填，B2B or BSP 出票 非必须")
	private String ticketVoucherType;

	@ApiModelProperty(value = "出票方式: 1-自动出票 2-手动出票")
	private Integer ticketChannels;

	@ApiModelProperty(value = "自动出票提示信息")
	private String failureReason;

	@ApiModelProperty(value = "航程类型 1-单程 2-往返 3-多程 必须")
	private Integer flightType;

	@ApiModelProperty(value = "是否换编码出票 必须")
	private String ifChangePnr;

	@ApiModelProperty(value = "交易流水号 必须")
	private String streamNumber;

	@ApiModelProperty(value = "联系人 必须")
	private String contactName;

	@ApiModelProperty(value = "联系人电话 必须")
	private String contactTel;

	@ApiModelProperty(value = "联系人邮箱")
	private String contactEmail;

	@ApiModelProperty(value = "联系人备注")
	private String remark;

	@ApiModelProperty(value = "订单状态  2出票失败 3支付成功 4正在出票 5已出票 6已取消")
	private Integer orderStatus;

	@ApiModelProperty(value = "创建者")
	private Long creator;

	@ApiModelProperty(value = "创建时间")
	private Date createAte;

	@ApiModelProperty(value = "修改人")
	private Long updater;

	@ApiModelProperty(value = "修改时间")
	private Date updateDate;


}